2006/12/02

SVN + Google-Code-Hosting = remote Project Management Server

事情總是從 Google 提供的新服務開始的。

前幾天在檢視我越來越多的 Google 工具時,發現 Google-Code 也開始提供 Code-Hosting 的服務了,使用者可以將任何的 open-source project host 在 Google-Code 上,想當然耳,又是整合在 G-mail 帳號之下啦。
過去所寫的程式,大多是一個人獨立完成,即使是四五個人的 team,在那個網路還不算太發達的時代,對於 CVS 只是聽說,但從沒用過,因為沒有資源去弄個可供 hosting 得 server。

然而根據專家的意見,version control 對於一個 programmer 來說實在是不可或缺的工具,尤其牽涉到比較大的專案,需要許多人長時間的開發,如果沒做好 bug and modification tracking,最後可能會搞得一團亂。我自己也發生過幾次,改了幾天的 code,突然發現這幾天做的都是錯的,必須去從自己每天的備份中找到[未受污染]前的程式。

好吧,我從來不覺得自己是 Software Development 的高手,所以也沒必要覆述太多 Software Engineering 書上都找得到的東西,重點是要介紹 Subversion 這個好用的工具。雖然這個軟體是根據軟體開發工具 CVS 再改良而產生的,但是在抽象層次上,[版本管理]的概念是可以跳脫出[軟體開發],進而廣泛的應用在任何的專案上(嗯,好吧,這個專案必須有電腦檔案,否則用不到 SVN),包含任何文件的撰寫,只要你的檔案時時在更新(尤其是當你需要在不同的電腦上工作),這個管理工具都算得上非常實用。如果你工作用的檔案是 plain text 格式(比方說用 LaTeX 寫稿),這套工具甚至可以幫你記錄什麼時候加了哪些字。

為了不辜負 Google 的美意,我開始學習用svn。SVN 的參考資料: Subversion Book, 這是一本 O'rielly 出的免費書,有 HTML 和 pdf 版本,至於有沒有中文版,請自己找吧(我想應該有吧,因為 svn 的初始開發者當中有台灣留學生)。相信有些 command-line mode 基礎,但沒用過CVS的人,看完前兩章基本功能大概就可以上手了(但是如果不想看書只用 try-and-error 可能有點難度,至少我是這樣啦);喜歡 GUI 的人應該也很容易找到免費的 svn client,我在 Windows 下用的是 TortoiseSVN(有個可愛的小烏龜 icon),把 SVN 功能選項加在滑鼠右鍵的選單中,配合檔案總管算是相當簡單好用。

現在,我把論文要用開發的軟體、論文文稿(I have become a LaTeX user....Orz)、專題的程式跟報告都放了上去,這樣連 USB disk 都免了,還省去了每天要記得備份的煩惱(把自動 commit 放在學校電腦的 logout script 裡,家裡開個定時 update 就搞定了同步的問題)。

接下來,就是要把以前自己寫的 source code 找出來,找個機會 host 上去,這樣以後找工作要展示[軟體開發經驗]的時候只要給人家一個 link 就行了(如果要徵人的主管不知道這是什麼,我想那份工作大概也不是我想要找的吧.... :-p)。


剩下的問題,就是像dodo所說的: when will Google become evil?
Well, if they were to become evil, then I might be already a part of it....

沒有留言:

張貼留言